// <copyright file="MatchScoreTest.cs" company="Open Source"></copyright>

using System;
using _22yards.Core;
using Microsoft.Pex.Framework;
using Microsoft.Pex.Framework.Validation;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace _22yards.Core
{
    [TestClass]
    [PexClass(typeof(MatchScore))]
    [PexAllowedExceptionFromTypeUnderTest(typeof(ArgumentException), AcceptExceptionSubtypes = true)]
    [PexAllowedExceptionFromTypeUnderTest(typeof(InvalidOperationException))]
    public partial class MatchScoreTest
    {
        [PexMethod]
        public string NthInningsScoreValue(
            [PexAssumeUnderTest]MatchScore target,
            int innings,
            bool AussieFormat
        )
        {
            string result = target.NthInningsScoreValue(innings, AussieFormat);
            return result;
            // TODO: add assertions to method MatchScoreTest.NthInningsScoreValue(MatchScore, Int32, Boolean)
        }
        [PexMethod]
        public Score NthInningsScore([PexAssumeUnderTest]MatchScore target, int innings)
        {
            Score result = target.NthInningsScore(innings);
            return result;
            // TODO: add assertions to method MatchScoreTest.NthInningsScore(MatchScore, Int32)
        }
        [PexMethod]
        public void Init([PexAssumeUnderTest]MatchScore target, int innings)
        {
            target.Init(innings);
            // TODO: add assertions to method MatchScoreTest.Init(MatchScore, Int32)
        }
        [PexMethod]
        public int GetInningsInProgress([PexAssumeUnderTest]MatchScore target)
        {
            int result = target.GetInningsInProgress();
            return result;
            // TODO: add assertions to method MatchScoreTest.GetInningsInProgress(MatchScore)
        }
        [PexMethod]
        public string CurrentInningsScoreValue([PexAssumeUnderTest]MatchScore target, bool AussieFormat)
        {
            string result = target.CurrentInningsScoreValue(AussieFormat);
            return result;
            // TODO: add assertions to method MatchScoreTest.CurrentInningsScoreValue(MatchScore, Boolean)
        }
        [PexMethod]
        public Score CurrentInningsScore([PexAssumeUnderTest]MatchScore target)
        {
            Score result = target.CurrentInningsScore();
            return result;
            // TODO: add assertions to method MatchScoreTest.CurrentInningsScore(MatchScore)
        }
        [PexMethod]
        public MatchScore Constructor()
        {
            MatchScore target = new MatchScore();
            return target;
            // TODO: add assertions to method MatchScoreTest.Constructor()
        }
    }
}
